package cn.zqy.demo2.day14FoundationStrengthening.Test;
import cn.zqy.demo2.day14FoundationStrengthening.Junit.Calculator;
import org.junit.jupiter.api.*;

import static org.junit.jupiter.api.Assertions.assertEquals;

/**
 * - @BeforeAll 只执行一次，执行时机是在所有测试和 @BeforeEach 注解方法之前。
 * - @BeforeEach 在每个测试执行之前执行。
 * - @AfterEach 在每个测试执行之后执行。
 * - @AfterAll只执行一次，执行时机是在所有测试和 @AfterEach 注解方法之后。
 * */

public class CalculatorTest {
    /**
     * 初始化方法：
     *  用于资源申请，所有测试方法在执行之前都会先执行该方法
     */
    @BeforeEach
    public void init() {
        System.out.println("资源初始化。。");
    }

    /**
     * 释放资源方法：
     *  在所有测试方法执行完后，都会自动执行该方法
     */
    @AfterEach
    public void close() {
        System.out.println("释放资源。。");
    }

    @Test
    public void testAdd() {
        System.out.println("testAdd...");
        //1.创建计算器对象
        Calculator calculator = new Calculator();
        //2.调用add方法
        int num = calculator.add(1,2);
        System.out.println(num);

        // junit5.2抛弃了Assert类,
        //3.断言  我断言这个结果是3
        Assertions.assertEquals(3, num);
    }

    @Test
    public void testSub() {
        System.out.println("testSub...");
        Calculator calculator = new Calculator();
        int re = calculator.sub(10, 5);
        System.out.println(re);
        //1.创建计算器对象
        assertEquals(5, re);
    }
}
